I. Field
The present invention relates generally to content delivery in a network environment, and more particularly, to methods and apparatus for hybrid multicast and unicast transmissions in a data network.
II. Description of the Related Art
Data networks, such as wireless communication networks, have to trade off between services customized for a single terminal and services broadcasted/multicasted to all terminals. The distribution of content (data) to a large number of terminals (subscribers) is a complicated problem. Network systems that implement multicast technology can deliver data over a wide area, however, because it is difficult for the sender to know about the success or failure of such deliveries, the costs and resource utilization may be excessive and wasteful.
In one type of multicast transmission, one copy of the information is simultaneously transmitted to hundreds or thousands of receivers. To achieve transmission reliability, several techniques have been proposed that can be generally categorized into three approaches described as follows.
In the first approach, the sender maintains state information for each receiver of a multicast transmission by keeping track of an acknowledgement response (ACK) that it expects to receive from each receiver of the transmission. If the acknowledgement response is not received before expiration of a selected timeout interval, the sender retransmits the information to the multicast group. This approach does not scale well when the receiving population is very large, and is susceptible to the well known “ACK implosion” problem, where the sender is inundated with an overwhelming number of acknowledgement responses. In addition, the sender often does not know who the members (receivers) of the multicast group are, which makes it difficult for the sender to maintain state information for the receivers.
In the second approach, the scalability problem of the first approach is addressed by having each receiver transmit a negative acknowledgement signal (NACK) if the receiver does not obtain the information without error. A variation of this approach is to have an intermediate node aggregate NACK signals from the downstream nodes and forward only one NACK to the upstream node. The upstream node may then retransmit the information.
In the third approach, transmission reliability is achieved via redundancy. The simplest form of redundancy is repetition. Using repetition in the third approach, the same information is retransmitted several times. Another form or redundancy is to perform forward error correction (FEC) on the information to be transmitted. Using smart coding mechanisms the same reliability factor is achieved using less redundancy information.
However, in all the above approaches, a retransmission of data is sent to the entire set of receivers. This retransmission mechanism may work satisfactorily in a wire line network environment since only one copy of the information needs to be sent. The routing protocol within the network handles duplication of data packets to deliver the data to the branches of the distribution tree. In addition, the transmission of information to the leaves (last hop) of the tree is relatively inexpensive given the high bandwidth of the wire line network.
Unfortunately, unlike the wire line network, the last hop in a wireless network is the most expensive resource. This is the over-the-air resource between a Base Station Transceiver and a plurality of mobile terminals. A broadcast transmission in a wireless network is not subject to transmission power control since it is engineered to obtain a specific cell coverage and frame error rate. Thus, broadcasted transmissions in a wireless network utilize more power than a unicast transmission because of the larger coverage range that the broadcasted transmission is targeted to reach. As a result, a broadcast transmission is generally more expensive than a unicast transmission.
Furthermore, in wireless broadcast transmission the acknowledgment response from the receiving terminals is limited. Reliability is achieved by FEC or by repeat broadcasts. Unfortunately, even with high FEC or repeat broadcasts, some users may not be able to receive the data. For example, mobiles terminals that did not receive the data may be outside the broadcast zone, or their reception of the broadcast may be interrupted because of voice service handling. Thus, re-broadcasting the information would be wasteful because these terminals will not be able to receive the information. It would also be wasteful to re-broadcast information when the number of terminals not receiving the information is very small. For example, if high FEC is use to achieve reliability, the number of mobile terminals that are unable to accurately receive the information in a given sector may be very small. Thus, it would be wasteful to use the entire broadcast channel to re-broadcast the information to a small subset of mobile terminals.
Therefore, what is needed is a delivery system for use in network environments that operates to determine the most resource efficient and cost effective way to transmit data to a large number of receiving terminals. For example, the system should operate in a wireless network environment to determine if it is more efficient and/or cost effective to use unicast or multicast transmission techniques to transmit data to a large number of receiving terminals.